iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0

什麼是cURL?

cURL 用於進行網絡通信和數據傳輸的工具。

透過各種協議(如:HTTP)進行數據的發送和接收。

讓應用程序能夠與遠程伺服器進行通信,獲取網頁內容、發送表單數據、 API 進行交互等。

也允許定制各種不同類型的 HTTP 請求,像是 GET、POST、PUT、DELETE 等。方便我們處理 Cookie、HTTP 驗證等。

宣告

 📌 class api
 {
     public function request($api, $data)
     {
         $ch = curl_init();
         curl_setopt($ch, CURLOPT_URL, $api);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
         curl_setopt($ch, CURLOPT_POST, 1);
         curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
         $output = curl_exec($ch);
         curl_close($ch);
     }
 }

發送

 📌 include "./lib/api.php";
 $api = new api( );
 $data = [
 "name" => $_POST['name1'],
 "user" => $_POST['user1'],
 "pass" => $_POST['pass1']
 ];
 $api -> request('http://localhost/api/menber_add.php',json_encode($data));
 header('Location: http://localhost/');

接收

 📌 header('Content-type:application/json;charset=utf-8');
 header('Access-Control-Allow-Origin: *');
 $data = json_decode(file_get_contents('php://input'), true);

小整理

 📌 $ch = curl_init();

初始化 cURL

 📌  curl_setopt($ch, CURLOPT_URL, $api);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

設置 cURL 選項

像是位置、資料

 📌 curl_close($ch);

關閉 cURL 資源


上一篇
[DAY21]如何製作API(JS)?
下一篇
[DAY23]如何製作JWT?
系列文
從前端到後端,設計出屬於自己的購物網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言